//单元格点击事件
$(".DisplayText").click(function () {
    reset();
    $(this).hide();
    var inputTest = $(this).siblings(".InputText");
    inputTest.show();
    var textareaOrInput = inputTest.children("textarea,input");
    textareaOrInput.select();
});
function reset () {
    calculateTotal();
    $(".DisplayText").show();
    $(".InputText").hide();
}
//单元格字符输入
var buttonClassflag = true;
$("#divBody textarea").keyup(function () {
    if(event.keyCode == 13){
        reset();
        return;
    }
    if(buttonClassflag)
        changeButtonClass();
    var value = $(this).val();
    $(this).parents("td").find("span").html(value);

});
//单元格金额输入
$("#divBody input").keydown(function (event) {
   setTimeout(function () {
       if(event.keyCode == 13){
           reset();
           return;
       }
       if(buttonClassflag)
           changeButtonClass();
       var value = $(event.target).val();
       if(!/^[0-9]{0,9}(\.[0-9]{0,2})?$/.test(value)){
           $(event.target).val(value.substr(0,value.length-1));
           return;
       }
       value = removeDotForNumber(value);
       $(event.target).parents("td").find("span").html(value);
   },0);
});
function removeDotForNumber(value){
    if(value.trim() == "") return "";
    var values = value.split(".");
    if(values.length == 1){
        value += "00";
    }else if(values.length == 2){
        if(values[1].length == 1){
            value = values[0] + values[1] + '0';
        }else if(values[1].length == 0){
            value = values[0] + "00";
        }else{
            value = values[0]+values[1].substr(0,2);
        }
    }
    return value;
}
//按钮样式变化
function changeButtonClass(){
    $("#A1").attr("class", "button");
    $("#A2").attr("class", "button");
    buttonClassflag = false;
}
//保存并新增
$("#A1").click(function () {
    reset();
    saveVoucher(function () {
        document.location.reload()
    });
});
//保存
$("#A2").click(function () {
    reset();
    saveVoucher();
});
//请求后台接口
function saveVoucher (fn) {
    if(!checkInputData()) return;
    var url = "../voucher/insert";
    var data = gainTableDate();
    $.ajax({
        type:'POST',
        url: url,
        data: data,
        success: function(data){
            if(data.success){
                window.parent.showMessage("保存成功!");
                if(fn) fn();
            }else{
                window.parent.showMessage(data.message);
            }
        }
    });

}
//表格数据获取
function gainTableDate(){
    var data = {};
    data.voucher_word = $("#ddlVoucherGroup").val();
    data.voucher_createtime = $("#txtDate").val();
    data.voucher_digest = $.map($(".inputZhaiYao"), backValue);
    data.subject_name = $.map($(".inputKemu"), backValue);
    data.voucher_debit = $.map($(".inputJieFang"), backValue);
    data.voucher_credit = $.map($(".inputDaiFang"), backValue);
    return data;
}
function backValue(value){
    return $(value).val();
}
//计算合计
function calculateTotal(){
    var inputJieFang = $(".inputJieFang");
    var inputDaiFang = $(".inputDaiFang");
    var jfsum = 0, dfsum = 0;
    for(var i=0;i<inputJieFang.length;i++){
        jfsum += inputJieFang.eq(i).val()==""?0:parseFloat(inputJieFang.eq(i).val());
        dfsum += inputDaiFang.eq(i).val()==""?0:parseFloat(inputDaiFang.eq(i).val());
    }
    $(".spTotalDebit").html(removeDotForNumber(jfsum+""));
    $(".spTotalCredit").html(removeDotForNumber(dfsum+""));



}
//请求前的数据检验
function checkInputData(){
    var rows = $("#tableVoucher tbody>tr");
    for(var i = 0 ;i < rows.length ;i ++){
        var currentRow = rows.eq(i);
        var var1 = InputAndDisplayNotBlank(currentRow, "ZhaiYao");
        var var2 = InputAndDisplayNotBlank(currentRow, "Kemu");
        var var3 = InputAndDisplayNotBlank(currentRow, "JieFang");
        var var4 = InputAndDisplayNotBlank(currentRow, "DaiFang");

        if(var1 && var2 && var3 && var4 || !(var1 || var2 || var3 || var4 )) {

        }else{
            window.parent.showMessage("第"+(i+1)+"行数据不完整!");
            return false;
        }
    }
    var spTotalDebit = $(".spTotalDebit").text();
    var spTotalCredit = $(".spTotalCredit").text();

    if(spTotalDebit != spTotalCredit){
        window.parent.showMessage("借贷不平衡!")
        return false;
    }
    return true;
}
//验证对应行里的列数据不为空
function InputAndDisplayNotBlank(currentRow, column) {
    var display = currentRow.find(".Display"+column).text();
    var input =  currentRow.find(".input"+column).val();
    if (display.trim() != "" && input.trim() != "")
        return true;
    else
        return false;

}
//日期插件绑定
$("#txtDate").click(function () {
    WdatePicker();
});




